]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
st-icon: Fix memory leak
authorJasper St. Pierre <jstpierre@mecheye.net>
Mon, 19 Dec 2011 04:30:26 +0000 (23:30 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Mon, 19 Dec 2011 14:47:26 +0000 (09:47 -0500)
We were never freeing the dup'd icon_name string for an StIcon.

src/st/st-icon.c

index f93eff58a5a51ebc729c72695ed99018570875a1..e5643ccc99730ab40feabd39658ca9ad9650efa9 100644 (file)
@@ -174,6 +174,20 @@ st_icon_dispose (GObject *gobject)
   G_OBJECT_CLASS (st_icon_parent_class)->dispose (gobject);
 }
 
+static void
+st_icon_finalize (GObject *object)
+{
+  StIconPrivate *priv = ST_ICON (gobject)->priv;
+
+  if (priv->icon_name)
+    {
+      g_free (priv->icon_name);
+      priv->icon_name = NULL;
+    }
+
+  G_OBJECT_CLASS (st_icon_parent_class)->finalize (gobject);
+}
+
 static void
 st_icon_get_preferred_height (ClutterActor *actor,
                               gfloat        for_width,
@@ -317,6 +331,7 @@ st_icon_class_init (StIconClass *klass)
   object_class->get_property = st_icon_get_property;
   object_class->set_property = st_icon_set_property;
   object_class->dispose = st_icon_dispose;
+  object_class->finalize = st_icon_finalize;
 
   actor_class->get_preferred_height = st_icon_get_preferred_height;
   actor_class->get_preferred_width = st_icon_get_preferred_width;